This invention relates to scaling images for display.
In video images, the number of pixels in an image determines the quality, or resolution, of the image. More pixels in an image translates to higher resolution.
High definition television (HDTV) images, for example, have a high resolution (e.g., 1920×540 1080i (interlaced)) that cannot be directly displayed on a typical personal computer (PC) monitor without scaling the images to a lower resolution (e.g., 1280×720). Additionally, the images typically occupy a small section of the PC monitor, requiring further scaling to a lower resolution (e.g., 480×135).
One way to scale HDTV images to a usable size for PC monitors is by overlay scaling. Overlay scaling reads an HDTV image from the computer's memory and scales it horizontally and vertically. Overlay scales images “on the fly,” while the PC monitor is being refreshed. The scaled image replaces (“overlays”) the previously scaled image being displayed on the PC monitor. The number of images scaled and displayed per second, e.g., 85 frames per second (85 Hz), enables a computer user to view a continuous video picture sequence on the monitor.
For example, in FIG. 1, overlay scaling reads a 1920×540 1080i HDTV image 12 from a PC's memory, creates a 4:1 downscaled 480×135 image 14, and displays the image 14 on the PC's monitor. As seen in FIG. 2, image 12 is one of a sequence of incoming video images that appear at an image update rate of 60 frames per second (60 Hz) and are stored temporarily in memory 13. Because image 12 is interlaced (only every other line of the image is displayed), the “real” update rate is 30 frames per second (30 Hz). The overlay process reads successive images 12 from computer memory 13 at a PC CRT (cathode-ray tube) refresh rate, e.g., 85 frames per second (85 Hz), downscales them, and delivers them to the monitor for display.
Also referring to FIG. 3, to create the 4:1 downscaled image 14, an overlay process reads sixteen pixels of image 12 (one pixel segment 16), compresses them to form one pixel of image 14, displays the one pixel, and proceeds to the next segment 16. The segments 16 are processed from left to right in each row, working from the top row to the bottom row. This overlay scaling requires an average memory bandwidth of 176 MB/sec, where memory bandwidth equals (horizontal resolution, 1920)×(vertical resolution, 540)×(refresh rate, 85)×(bytes per pixel, 2), and a peak memory bandwidth of 1054 MB/sec (1920×540×85×12). Some PC memory systems cannot supply such a high bandwidth, so the PC compensates by dropping lines of the image. For example, dropping every other line would reduce the bandwidth requirements by 50%. Dropping lines, however, decreases image quality because the information in every pixel should contribute to the downscaled image.